An interpreter is a computer program that directly executes instructions (e.g., on a processor) written in a high level programming or scripting language, without previously compiling the instructions into a machine language program. In one configuration, an interpreter may execute instructions (e.g., source code) by parsing the instructions and then directly converting the instructions to machine code to perform an associated behavior. In another configuration, an interpreter may translate instructions into an intermediate representation and then immediately execute the intermediate representation by converting the intermediate representation to machine code.
The interpreter may interpret instructions written in a wide variety of programming languages, such as LISP, Beginner's All-purpose Symbolic Instruction Code (BASIC), Java, C++, etc. An interpreter may differ from a compiler in that a computer program written in a high level language may be directly executed one statement at a time by the interpreter, whereas the compiler may convert an entire computer program into machine code for execution by a processor.